package karaoke.negocio;

import java.util.Collection;



import karaoke.dao.ReservaDAO;
import karaoke.excepcion.DAOExcepcion;
import karaoke.modelo.Cliente;
import karaoke.modelo.Local;
import karaoke.modelo.Reserva;
import karaoke.modelo.Sala;

public class GestionReserva {

public Reserva insertar(int sala, int local, int cliente,String fecha, String hora, String descripcion)
	throws DAOExcepcion {
	
		ReservaDAO dao = new ReservaDAO();

		Reserva reserv=new Reserva();
		Sala s1=new Sala();
		Cliente c1=new Cliente();
		Local l1=new Local();
		
		l1.setCodigo(local);
		s1.setCodigo(sala);
		s1.setLocal(l1);
		c1.setCodigo(cliente);
		reserv.setSala(s1);
		reserv.setCliente(c1);
		reserv.setFecha(fecha);
		reserv.setHora(hora);
		reserv.setDescripcion(descripcion);
		
		return dao.insertar(reserv);			
	}

public Collection<Reserva> buscarPorFecha(String fecha)
		throws DAOExcepcion {
	ReservaDAO dao = new ReservaDAO();
	return dao.buscarPorFecha(fecha);
}

public Reserva obtener(int idReserva) throws DAOExcepcion {
	ReservaDAO dao = new ReservaDAO();
	return dao.obtener(idReserva);
}

public Reserva actualizar(int codigo, Sala sala, Cliente cliente,String fecha,String hora, String descripcion) throws DAOExcepcion {
	
	ReservaDAO dao = new ReservaDAO();
	
	Reserva reserv = new Reserva(); 
	
	reserv.setCodigo(codigo);
	reserv.setSala(sala);
	reserv.setCliente(cliente);
	reserv.setFecha(fecha);
	reserv.setHora(hora);
	reserv.setDescripcion(descripcion);
	
    return dao.actualizar(reserv);
}

public Collection<Reserva> listar() throws DAOExcepcion {
	ReservaDAO dao = new ReservaDAO();
	return dao.listar();
}

public void eliminar(int idReserva) throws DAOExcepcion {
	ReservaDAO dao = new ReservaDAO();
	dao.eliminar(idReserva);
}

}
